package demo02;

import java.util.Scanner;

/*
 * 题目：键盘录入一个字符，统计字符串中大小写字母及数字字符个数。
 * 种类分为：大写字母、小写字母、数字、其他
 */
public class Demo07StringCount {
    public static void main(String[] args) {
        System.out.print("请输入一个字符串：");
        String input = new Scanner(System.in).next(); // 获取键盘输入的一个字符串
        printCount(input);
    }

    // 输出各字符种类统计的方法
    public static void printCount(String str) {
        // 定义计数器
        int countUpper = 0, // 大写字母
                countLower = 0, // 小写字母
                countNumber = 0, // 数字
                countOther = 0; // 其他字符

        char[] charArray = str.toCharArray();
        for (int i = 0; i < charArray.length; i++) { // 遍历每个字符，判断后计数
            if (charArray[i] >= 'A' && charArray[i] <= 'Z') { // 字符运算自动晋升为int整型运算
                countUpper++;
            } else if (charArray[i] >= 'a' && charArray[i] <= 'z') {
                countLower++;
            } else if (charArray[i] >= '0' && charArray[i] <= '9') {
                countNumber++;
            } else {
                countOther++;
            }
        }

        // 输出语句
        System.out.println("大写字母个数：" + countUpper);
        System.out.println("小写字母个数：" + countLower);
        System.out.println("数字个数：" + countNumber);
        System.out.println("其他字符个数：" + countOther);
    }
}
